<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>
        // 父类 基类
        function Person(name,age){
            this.name=name;
            this.age=age;
        }
        Person.prototype.eat=function(){
            console.log("eat");
        }
        // 子类
        function Student(id,name,age){
            // 构造函数的继承
            Person.call(this,name,age);
            this.id=id;
        }
        // 原型链继承（不能直接把父类的原型对象增值给子类的原型对象，否则会共享）
    //   是想通过new 的一个实例化对象去找到他的protoype
        Student.prototype=new Person;
        // 如果不修改constructor那么他的指向就是Person
        // 修正constructor   让他指向他自己
        Student.prototype.constructor=Student;
        Student.prototype.study=function(){
            console.log('node');
        }
        const p1 = new Student(1,"zhang",18)
    console.log(p1);
    </script>
</body>
</html>